<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>for循环</title>
    <script>
        /* 
            for循环
                - for循环和while没有本质区别，都是用来反复执行代码
                - 不同点就是语法结构，for循环更加清晰
                - 语法：
                    for(①初始化表达式; ②条件表达式; ④更新表达式){
                        ③语句...
                    }

                - 执行流程：
                    ① 执行初始化表达式，初始化变量
                    ② 执行条件表达式，判断循环是否执行（true执行，false终止）
                    ③ 判断结果为true，则执行循环体
                    ④ 执行更新表达式，对初始化变量进行修改
                    ⑤ 重复②，知道判断为false为止

                - 初始化表达式，在循环的整个的生命周期中只会执行1次
                - for循环中的三个表达式都可以省略
                - 使用let在for循环的()中声明的变量是局部变量，只能在for循环内部访问
                    使用var在for循环的()中声明的变量可以在for循环的外部访问
                - 创建死循环的方式：
                    while(1){}
                    for(;;){}

            练习1：
                    求100以内所有3的倍数（求它们个数和总和）

        */

        // let i = 0
        // while(i < 5){
        //     console.log(i)
        //     i++
        // }

        
        for(let i=0; i<5; i++){
            console.log(i)
        }

        // console.log(i)
        

        // 死循环
        // for(;;){
        //     alert(1)
        // }

        // let i = 0
        // for(;i < 5;){
        //     console.log(i)
        //     i++
        // }

    </script>
</head>
<body>
    
</body>
</html>